package com.vista;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;

import utilitario.FuncionesUsuario;
import utilitario.PropiedadesExterna;
import conexionjdbc.ConexionSqlServer;

public class RestaurarDataBase {

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {

			@Override
			public void run() {

				PropiedadesExterna propiedadExterna = new PropiedadesExterna();
				FuncionesUsuario funUsu = new FuncionesUsuario();

				String sistemaPrincipal = propiedadExterna.getServidor("sistemaPrincipal");
				String pathBackupDatabase = propiedadExterna.getServidor("pathBackup" + sistemaPrincipal);

				if (restaurarBackup(pathBackupDatabase, sistemaPrincipal)) {

					JOptionPane.showConfirmDialog(null, "El Backup Se restauro con exito" + "\n" + this.getClass().getName(), "Sistema Chentty", JOptionPane.PLAIN_MESSAGE,
							JOptionPane.INFORMATION_MESSAGE);

					funUsu.abrirArchivoDesktop("C:\\SISTEMA_CHENTTY\\", sistemaPrincipal + ".jar");

				}// Fin de if(man.realizarBackup("dbbackup_20121208"))
			}
		});
	}// Fin d e metodo main

	public static boolean restaurarBackup(String parNombreFile, String parSistemaPrincipal) {

		String conSql = "";
		Connection conecction;
		CallableStatement cstm;
		boolean exito = false;

		try {

			conSql = "{call proc_RestoreDB" + parSistemaPrincipal + "(?)}";

			conecction = ConexionSqlServer.crearConexion();

			cstm = conecction.prepareCall(conSql);
			cstm.setString(1, parNombreFile);

			cstm.execute();
			exito = true;

			cstm.close();
			conecction.close();
		} catch (SQLException e) {
			// funUsu.mostrarMensaje("¡¡¡Error en metodo agregar()", this.getClass().getName());
			throw new RuntimeException(e);
		}

		return exito;
	}// Fin d e realizarBackup(String parNombreFile)

}// Fin de clase principal
